package com.crm.service.systemManager;

import com.crm.model.entity.systemManager.CallManager;
import com.crm.model.qo.systemManager.CallManagerQO;
import com.crm.model.vo.systemManager.CallManagerVO;

import java.util.List;

/**
 * @Author renshaorong
 * @Date 2021/4/20
 */
public interface CallManagerDbService {

    /**
     * 获取所有呼叫信息列表（若公司ID有值，则只取给定分公司下的呼叫信息）
     * @param callManagerQO
     * @param toString
     * @return
     */
    List<CallManagerVO> getAllCallLists(CallManagerQO callManagerQO, String toString);

    /**
     * 更新呼叫信息
     * @param callManager
     * @return
     */
    boolean updateByCallIdSelective(CallManager callManager);

    /**
     * 根据主键查找信息
     * @param callId
     * @return
     */
    CallManager selectByPrimaryKey(String callId);

    /**
     * 更新呼叫信息（属性为空更新）
     * @param callManager
     * @return
     */
    boolean updateByCallId(CallManager callManager);

    /**
     * 获取给定用户绑定的信息列表
     * @param accountId
     * @return
     */
    List<CallManager> getCallListByAccountId(String accountId);

    /**
     * 插入数据
     * @param callManager
     * @return
     */
    boolean insertSelective(CallManager callManager);

    /**
     * 根据号码获取列表
     * @Date 2021/4/23
     * @param telNum
     * @return
     */
    List<CallManager> getCallManagerListByTelNum(String telNum);

    /**
     * 拨打电话-线路切换获取随机号码
     * @Author pym
     * @Date  2021/5/26 8:39
     * @param type 号码类型 0、中继号 1、本地号 2、全国号
     * @param companyId 公司ID
     * @return {@link {java.util.List<com.crm.model.entity.systemManager.CallManager>}}
     */
    List<CallManager> getRandomTelephoneNumber(String type, String companyId);

}
